Recently, flash memories are widely used as main storage devices together with HDD, CD/DVD and the like. The memory capacity of the flash memory has been progressively increased by forming data stored in each memory cell in a multi-level form.
The differences between threshold values of a memory cell corresponding to data are more finely controlled in storing multi-level data in the flash memory. As a result, the number of writing operations (the number of applications of a write voltage) in one operation sequence increases and the write time tends to become long.
Therefore, various techniques for suppressing an increase in the write time are proposed for the flash memory while maintaining the reliability thereof.